/***********************************************************************
filename: 	hgeForwardRefs.h
created:	21/2/2004
author:		Paul D Turner

purpose:	Forward declares all core system classes
*************************************************************************/

/*************************************************************************
Forward declare majority of core classes
*************************************************************************/
class color;
class ColourRect;

class Event;
class EventArgs;
class EventSet;
class Exception;
class GeometryBuffer;

class hgeFont;
class Vector2;

class Image;
class ImagerySection;

class hgeLogger;
class Vector2;

class MouseCursor;

class Property;
class PropertyHelper;
class PropertyReceiver;
class PropertySet;

class Renderer;
struct RenderingContext;
class RenderEffect;
class RenderingRoot;
class RenderingSurface;
class RenderingWindow;
class RenderQueue;
class RenderSystem;
class RenderedString;
class RenderedStringParser;
class RenderedStringComponent;
class RenderTarget;

class Texture;
class TextureTarget;

struct Vertex;
class Window;
class WindowRenderer;
	 
#include <string>
typedef unsigned int utf32;
typedef unsigned char utf8;
typedef Vector2 Point;
typedef Vector2 Size;
typedef Vector2 Vector2;
typedef std::string	String;

#define PixelAligned(x)	( (float)(int)(( x ) + (( x ) > 0.0f ? 0.5f : -0.5f)) )
#define	SAFE_DELETE(p)		{ if ( p ) { delete (p);	(p) = NULL;		} }	

